Purpose: Explore data at sub-daily temporal resolutions (e.g., 15-min and 1-hour time steps).
Visualize 15-min and 1-hour data and note diversity in timing of peak flows during events
Use event pairing to explore the mean and variation in time lags between peak flows at Big G and little g’s
Fit basic wedge model to the 15-min and 1-hour unaligned data…do the results change so much that we need to align time series when working with sub-daily data?
Explore use of dynamic time warping to align time series data
Data
Load data
Bring in site info and sub-daily data
Code
# site information and locations
siteinfo <- read_csv ("C:/Users/jbaldock/OneDrive - DOI/Documents/USGS/EcoDrought/EcoDrought Working/Data/EcoDrought_SiteInformation.csv" )
siteinfo_sp <- st_as_sf (siteinfo, coords = c ("long" , "lat" ), crs = 4326 )
mapview (siteinfo_sp, zcol = "designation" )
Code
# flow/yield (and temp) data
dat_sub <- read_csv ("C:/Users/jbaldock/OneDrive - DOI/Documents/USGS/EcoDrought/EcoDrought Working/Data/EcoDrought_FlowTempData_Raw.csv" ) %>%
filter (! site_name %in% c ("WoundedBuckCreek" , "Brackett Creek" ))
dat_little <- dat_sub %>%
filter (site_name %in% c ("West Brook Lower" , "Mitchell Brook" , "Jimmy Brook" , "Obear Brook Lower" , "West Brook Upper" , "West Brook Reservoir" , "Sanderson Brook" , "Avery Brook" , "West Whately Brook" )) %>%
select (site_name, datetime, flow, area_sqmi)
Download 15-min NWIS data for big G (West Brook NWIS)
Code
wbnwis <- tibble (readNWISdata (sites = "01171100" , service = "uv" , startDate = "1980-01-01" , endDate = Sys.Date (), tz = "America/New_York" ))
wbnwis2 <- wbnwis[,c (2 ,3 ,4 )]
names (wbnwis2) <- c ("station_no" , "datetime" , "flow" )
dat_big <- wbnwis2 %>%
left_join (siteinfo %>% filter (site_name == "West Brook NWIS" )) %>%
select (site_name, datetime, flow, area_sqmi)
Organize 15-min and 1-hour datasets, load daily data
Code
dat_15min <- bind_rows (dat_little, dat_big) %>%
mutate (site_name = factor (site_name, levels = c ("West Brook Lower" , "Mitchell Brook" , "Jimmy Brook" , "Obear Brook Lower" , "West Brook Upper" , "West Brook Reservoir" , "Sanderson Brook" , "Avery Brook" , "West Whately Brook" , "West Brook NWIS" ))) %>%
mutate (flow_cms = flow* 0.02831683199881 , area_sqkm = area_sqmi* 2.58999 ) %>%
mutate (yield = flow_cms * 900 * (1 / (area_sqkm)) * (1 / 1000000 ) * 1000 )
dat_1hr <- bind_rows (dat_little, dat_big) %>%
mutate (site_name = factor (site_name, levels = c ("West Brook Lower" , "Mitchell Brook" , "Jimmy Brook" , "Obear Brook Lower" , "West Brook Upper" , "West Brook Reservoir" , "Sanderson Brook" , "Avery Brook" , "West Whately Brook" , "West Brook NWIS" ))) %>%
filter (! is.na (flow)) %>%
mutate (datetime = floor_date (datetime, unit = "hour" )) %>%
group_by (site_name, datetime) %>%
summarise (flow = mean (flow), area_sqmi = unique (area_sqmi)) %>%
ungroup () %>%
mutate (flow_cms = flow* 0.02831683199881 , area_sqkm = area_sqmi* 2.58999 ) %>%
mutate (yield = flow_cms * 3600 * (1 / (area_sqkm)) * (1 / 1000000 ) * 1000 )
dat_1day <- read_csv ("C:/Users/jbaldock/OneDrive - DOI/Documents/USGS/EcoDrought/EcoDrought Working/Data/EcoDrought_FlowTempData_DailyWeekly.csv" ) %>%
filter (site_name %in% c ("West Brook Lower" , "Mitchell Brook" , "Jimmy Brook" , "Obear Brook Lower" , "West Brook Upper" , "West Brook Reservoir" , "Sanderson Brook" , "Avery Brook" , "West Whately Brook" , "West Brook NWIS" )) %>%
mutate (site_name = factor (site_name, levels = c ("West Brook Lower" , "Mitchell Brook" , "Jimmy Brook" , "Obear Brook Lower" , "West Brook Upper" , "West Brook Reservoir" , "Sanderson Brook" , "Avery Brook" , "West Whately Brook" , "West Brook NWIS" )))
View 15-min data
Plot 15 min time series data
Code
dat_15min %>% select (datetime, site_name, yield) %>% spread (key = site_name, value = yield) %>% dygraph () %>% dyRangeSelector () %>% dyAxis ("y" , label = "Yield (mm)" ) %>% dyOptions (colors = c (hcl.colors (9 , "Zissou 1" ), "black" )) %>% dyHighlight ()